home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1995-07-07 | 10.3 KB | [TEXT/KAHL] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Fri Jul 7 19:44:22 1995, modified Fri Jul 7 19:44:22 1995, creator Think C, type ASCII, 9755 bytes "MySignatureToApp.c" , at 0x269b 428 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [KAHL] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 12 4d 79 53 69 67 6e | 61 74 75 72 65 54 6f 41 |..MySign|atureToA|
|00000010| 70 70 2e 63 00 00 00 00 | 00 00 00 00 00 00 00 00 |pp.c....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 26 1b 00 | 00 01 ac ac 23 77 56 ac |.....&..|....#wV.|
|00000060| 23 77 56 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |#wV.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 bb 59 00 00 |........|.....Y..|
|00000080| 2f 2f 2f 2f 0d 2f 2f 2f | 2f 09 53 69 67 6e 61 74 |////.///|/.Signat|
|00000090| 75 72 65 54 6f 41 70 70 | 2e 63 09 09 49 6d 70 6c |ureToApp|.c..Impl|
|000000a0| 65 6d 65 6e 74 61 74 69 | 6f 6e 20 6f 66 20 74 68 |ementati|on of th|
|000000b0| 65 20 53 69 67 6e 61 74 | 75 72 65 54 6f 41 70 70 |e Signat|ureToApp|
|000000c0| 20 66 75 6e 63 74 69 6f | 6e 2e 0d 2f 2f 2f 2f 0d | functio|n..////.|
|000000d0| 2f 2f 2f 2f 09 42 79 20 | 4a 65 6e 73 20 41 6c 66 |////.By |Jens Alf|
|000000e0| 6b 65 09 09 09 a9 31 39 | 39 31 20 41 70 70 6c 65 |ke....19|91 Apple|
|000000f0| 20 43 6f 6d 70 75 74 65 | 72 2c 20 49 6e 63 2e 20 | Compute|r, Inc. |
|00000100| 41 6c 6c 20 72 69 67 68 | 74 73 20 72 65 73 65 72 |All righ|ts reser|
|00000110| 76 65 64 2e 0d 2f 2f 2f | 2f 0d 2f 2f 2f 2f 09 4d |ved..///|/.////.M|
|00000120| 6f 64 69 66 69 65 64 20 | 62 79 20 54 69 6d 20 4d |odified |by Tim M|
|00000130| 61 72 6f 6e 65 79 20 66 | 6f 72 20 50 72 6f 6a 65 |aroney f|or Proje|
|00000140| 63 74 44 72 61 67 20 74 | 6f 20 6e 6f 74 20 73 65 |ctDrag t|o not se|
|00000150| 61 72 63 68 20 6f 6e 20 | 6e 65 74 77 6f 72 6b 20 |arch on |network |
|00000160| 76 6f 6c 75 6d 65 73 2c | 0d 2f 2f 2f 2f 09 09 61 |volumes,|.////..a|
|00000170| 6e 64 20 28 77 69 74 68 | 6f 75 74 20 73 75 63 63 |nd (with|out succ|
|00000180| 65 73 73 29 20 74 6f 20 | 6d 61 6b 65 20 73 75 72 |ess) to |make sur|
|00000190| 65 20 74 68 61 74 20 4c | 61 75 6e 63 68 41 70 70 |e that L|aunchApp|
|000001a0| 6c 69 63 61 74 69 6f 6e | 20 61 63 74 75 61 6c 6c |lication| actuall|
|000001b0| 79 20 77 6f 72 6b 65 64 | 2e 0d 2f 2f 2f 2f 0d 0d |y worked|..////..|
|000001c0| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 45 72 72 6f 72 |.#includ|e <Error|
|000001d0| 73 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 46 |s.h>.#in|clude <F|
|000001e0| 69 6c 65 73 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |iles.h>.|#include|
|000001f0| 20 3c 50 72 6f 63 65 73 | 73 65 73 2e 68 3e 0d 23 | <Proces|ses.h>.#|
|00000200| 69 6e 63 6c 75 64 65 20 | 3c 46 6f 6c 64 65 72 73 |include |<Folders|
|00000210| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 41 70 |.h>.#inc|lude <Ap|
|00000220| 70 6c 65 45 76 65 6e 74 | 73 2e 68 3e 0d 0d 23 69 |pleEvent|s.h>..#i|
|00000230| 6e 63 6c 75 64 65 20 22 | 53 69 67 6e 61 74 75 72 |nclude "|Signatur|
|00000240| 65 54 6f 41 70 70 2e 68 | 22 0d 0d 0d 20 20 20 2f |eToApp.h|"... /|
|00000250| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000260| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000270| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000280| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 0d 20 20 2f 2f |////////|///. //|
|00000290| 09 46 69 6e 64 52 75 6e | 6e 69 6e 67 41 70 70 42 |.FindRun|ningAppB|
|000002a0| 79 53 69 67 6e 61 74 75 | 72 65 09 09 09 09 09 09 |ySignatu|re......|
|000002b0| 09 2f 2f 0d 20 2f 2f 09 | 09 09 53 65 61 72 63 68 |.//. //.|..Search|
|000002c0| 20 70 72 6f 63 65 73 73 | 20 6c 69 73 74 20 66 6f | process| list fo|
|000002d0| 72 20 61 70 70 20 77 69 | 74 68 20 74 68 69 73 20 |r app wi|th this |
|000002e0| 73 69 67 6e 61 74 75 72 | 65 2f 2f 0d 2f 2f 2f 2f |signatur|e//.////|
|000002f0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000300| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000310| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000320| 2f 2f 2f 2f 2f 2f 2f 2f | 0d 73 74 61 74 69 63 20 |////////|.static |
|00000330| 4f 53 45 72 72 0d 46 69 | 6e 64 52 75 6e 6e 69 6e |OSErr.Fi|ndRunnin|
|00000340| 67 41 70 70 42 79 53 69 | 67 6e 61 74 75 72 65 28 |gAppBySi|gnature(|
|00000350| 20 4f 53 54 79 70 65 20 | 73 69 67 2c 20 50 72 6f | OSType |sig, Pro|
|00000360| 63 65 73 73 53 65 72 69 | 61 6c 4e 75 6d 62 65 72 |cessSeri|alNumber|
|00000370| 20 2a 70 73 6e 2c 20 46 | 53 53 70 65 63 20 2a 66 | *psn, F|SSpec *f|
|00000380| 69 6c 65 53 70 65 63 20 | 29 0d 7b 0d 09 4f 53 45 |ileSpec |).{..OSE|
|00000390| 72 72 20 65 72 72 3b 0d | 09 50 72 6f 63 65 73 73 |rr err;.|.Process|
|000003a0| 49 6e 66 6f 52 65 63 20 | 69 6e 66 6f 3b 0d 09 0d |InfoRec |info;...|
|000003b0| 09 70 73 6e 2d 3e 68 69 | 67 68 4c 6f 6e 67 4f 66 |.psn->hi|ghLongOf|
|000003c0| 50 53 4e 20 3d 20 30 3b | 0d 09 70 73 6e 2d 3e 6c |PSN = 0;|..psn->l|
|000003d0| 6f 77 4c 6f 6e 67 4f 66 | 50 53 4e 20 20 3d 20 6b |owLongOf|PSN = k|
|000003e0| 4e 6f 50 72 6f 63 65 73 | 73 3b 0d 09 64 6f 7b 0d |NoProces|s;..do{.|
|000003f0| 09 09 65 72 72 3d 20 47 | 65 74 4e 65 78 74 50 72 |..err= G|etNextPr|
|00000400| 6f 63 65 73 73 28 70 73 | 6e 29 3b 0d 09 09 69 66 |ocess(ps|n);...if|
|00000410| 28 20 21 65 72 72 20 29 | 20 7b 0d 09 09 09 69 6e |( !err )| {....in|
|00000420| 66 6f 2e 70 72 6f 63 65 | 73 73 49 6e 66 6f 4c 65 |fo.proce|ssInfoLe|
|00000430| 6e 67 74 68 20 3d 20 73 | 69 7a 65 6f 66 28 69 6e |ngth = s|izeof(in|
|00000440| 66 6f 29 3b 0d 09 09 09 | 69 6e 66 6f 2e 70 72 6f |fo);....|info.pro|
|00000450| 63 65 73 73 4e 61 6d 65 | 20 3d 20 4e 55 4c 4c 3b |cessName| = NULL;|
|00000460| 0d 09 09 09 69 6e 66 6f | 2e 70 72 6f 63 65 73 73 |....info|.process|
|00000470| 41 70 70 53 70 65 63 20 | 3d 20 66 69 6c 65 53 70 |AppSpec |= fileSp|
|00000480| 65 63 3b 0d 09 09 09 65 | 72 72 3d 20 47 65 74 50 |ec;....e|rr= GetP|
|00000490| 72 6f 63 65 73 73 49 6e | 66 6f 72 6d 61 74 69 6f |rocessIn|formatio|
|000004a0| 6e 28 70 73 6e 2c 26 69 | 6e 66 6f 29 3b 0d 09 09 |n(psn,&i|nfo);...|
|000004b0| 7d 0d 09 7d 20 77 68 69 | 6c 65 28 20 21 65 72 72 |}..} whi|le( !err|
|000004c0| 20 26 26 20 69 6e 66 6f | 2e 70 72 6f 63 65 73 73 | && info|.process|
|000004d0| 53 69 67 6e 61 74 75 72 | 65 20 21 3d 20 73 69 67 |Signatur|e != sig|
|000004e0| 20 29 3b 0d 0d 09 69 66 | 28 20 65 72 72 20 29 0d | );...if|( err ).|
|000004f0| 09 09 66 69 6c 65 53 70 | 65 63 2d 3e 6e 61 6d 65 |..fileSp|ec->name|
|00000500| 5b 30 5d 20 3d 20 30 3b | 09 09 09 09 09 09 09 09 |[0] = 0;|........|
|00000510| 2f 2f 20 43 6c 65 61 72 | 20 6e 61 6d 65 20 69 66 |// Clear| name if|
|00000520| 20 6e 6f 74 20 66 6f 75 | 6e 64 0d 09 65 6c 73 65 | not fou|nd..else|
|00000530| 0d 09 09 2a 70 73 6e 20 | 3d 20 69 6e 66 6f 2e 70 |...*psn |= info.p|
|00000540| 72 6f 63 65 73 73 4e 75 | 6d 62 65 72 3b 0d 09 72 |rocessNu|mber;..r|
|00000550| 65 74 75 72 6e 20 65 72 | 72 3b 0d 7d 0d 0d 0d 20 |eturn er|r;.}... |
|00000560| 20 20 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f | //////|////////|
|00000570| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000580| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000590| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 0d 20 |////////|//////. |
|000005a0| 20 2f 2f 09 47 65 74 53 | 79 73 56 6f 6c 75 6d 65 | //.GetS|ysVolume|
|000005b0| 09 09 09 09 09 09 09 09 | 09 09 2f 2f 0d 20 2f 2f |........|..//. //|
|000005c0| 09 09 09 47 65 74 20 74 | 68 65 20 76 52 65 66 4e |...Get t|he vRefN|
|000005d0| 75 6d 20 6f 66 20 74 68 | 65 20 73 79 73 74 65 6d |um of th|e system|
|000005e0| 20 28 62 6f 6f 74 29 20 | 76 6f 6c 75 6d 65 09 20 | (boot) |volume. |
|000005f0| 20 20 2f 2f 0d 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f | //.///|////////|
|00000600| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000610| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000620| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000630| 2f 0d 73 74 61 74 69 63 | 20 4f 53 45 72 72 0d 47 |/.static| OSErr.G|
|00000640| 65 74 53 79 73 56 6f 6c | 75 6d 65 28 20 73 68 6f |etSysVol|ume( sho|
|00000650| 72 74 20 2a 76 52 65 66 | 4e 75 6d 20 29 0d 7b 0d |rt *vRef|Num ).{.|
|00000660| 09 6c 6f 6e 67 20 64 69 | 72 3b 0d 09 0d 09 72 65 |.long di|r;....re|
|00000670| 74 75 72 6e 20 46 69 6e | 64 46 6f 6c 64 65 72 28 |turn Fin|dFolder(|
|00000680| 6b 4f 6e 53 79 73 74 65 | 6d 44 69 73 6b 2c 6b 53 |kOnSyste|mDisk,kS|
|00000690| 79 73 74 65 6d 46 6f 6c | 64 65 72 54 79 70 65 2c |ystemFol|derType,|
|000006a0| 66 61 6c 73 65 2c 20 76 | 52 65 66 4e 75 6d 2c 26 |false, v|RefNum,&|
|000006b0| 64 69 72 29 3b 0d 7d 0d | 0d 0d 20 20 20 2f 2f 2f |dir);.}.|.. ///|
|000006c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000006d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000006e0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000006f0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 0d 20 20 2f 2f 09 47 |////////|/. //.G|
|00000700| 65 74 49 6e 64 56 6f 6c | 75 6d 65 09 09 09 09 09 |etIndVol|ume.....|
|00000710| 09 09 09 09 09 2f 2f 0d | 20 2f 2f 09 09 09 47 65 |.....//.| //...Ge|
|00000720| 74 20 74 68 65 20 76 52 | 65 66 4e 75 6d 20 6f 66 |t the vR|efNum of|
|00000730| 20 61 6e 20 69 6e 64 65 | 78 65 64 20 6f 6e 2d 6c | an inde|xed on-l|
|00000740| 69 6e 65 20 76 6f 6c 75 | 6d 65 20 20 20 2f 2f 0d |ine volu|me //.|
|00000750| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000760| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000770| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000780| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 73 74 61 |////////|////.sta|
|00000790| 74 69 63 20 4f 53 45 72 | 72 0d 47 65 74 49 6e 64 |tic OSEr|r.GetInd|
|000007a0| 56 6f 6c 75 6d 65 28 20 | 73 68 6f 72 74 20 69 6e |Volume( |short in|
|000007b0| 64 65 78 2c 20 73 68 6f | 72 74 20 2a 76 52 65 66 |dex, sho|rt *vRef|
|000007c0| 4e 75 6d 20 29 0d 7b 0d | 09 50 61 72 61 6d 42 6c |Num ).{.|.ParamBl|
|000007d0| 6f 63 6b 52 65 63 20 70 | 62 3b 0d 09 4f 53 45 72 |ockRec p|b;..OSEr|
|000007e0| 72 20 65 72 72 3b 0d 09 | 0d 09 70 62 2e 76 6f 6c |r err;..|..pb.vol|
|000007f0| 75 6d 65 50 61 72 61 6d | 2e 69 6f 43 6f 6d 70 6c |umeParam|.ioCompl|
|00000800| 65 74 69 6f 6e 20 3d 20 | 4e 55 4c 4c 3b 0d 09 70 |etion = |NULL;..p|
|00000810| 62 2e 76 6f 6c 75 6d 65 | 50 61 72 61 6d 2e 69 6f |b.volume|Param.io|
|00000820| 4e 61 6d 65 50 74 72 20 | 3d 20 4e 55 4c 4c 3b 0d |NamePtr |= NULL;.|
|00000830| 09 70 62 2e 76 6f 6c 75 | 6d 65 50 61 72 61 6d 2e |.pb.volu|meParam.|
|00000840| 69 6f 56 6f 6c 49 6e 64 | 65 78 20 3d 20 69 6e 64 |ioVolInd|ex = ind|
|00000850| 65 78 3b 0d 09 0d 09 65 | 72 72 3d 20 50 42 47 65 |ex;....e|rr= PBGe|
|00000860| 74 56 49 6e 66 6f 28 26 | 70 62 2c 66 61 6c 73 65 |tVInfo(&|pb,false|
|00000870| 29 3b 0d 09 0d 09 2a 76 | 52 65 66 4e 75 6d 20 3d |);....*v|RefNum =|
|00000880| 20 70 62 2e 76 6f 6c 75 | 6d 65 50 61 72 61 6d 2e | pb.volu|meParam.|
|00000890| 69 6f 56 52 65 66 4e 75 | 6d 3b 0d 09 72 65 74 75 |ioVRefNu|m;..retu|
|000008a0| 72 6e 20 65 72 72 3b 0d | 7d 0d 0d 0d 20 20 20 2f |rn err;.|}... /|
|000008b0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000008c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000008d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000008e0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 0d 20 20 2f 2f |////////|///. //|
|000008f0| 09 56 6f 6c 48 61 73 44 | 65 73 6b 74 6f 70 44 42 |.VolHasD|esktopDB|
|00000900| 09 09 09 09 09 09 09 09 | 09 09 2f 2f 0d 20 2f 2f |........|..//. //|
|00000910| 09 09 09 43 68 65 63 6b | 20 69 66 20 61 20 76 6f |...Check| if a vo|
|00000920| 6c 75 6d 65 20 73 75 70 | 70 6f 72 74 73 20 64 65 |lume sup|ports de|
|00000930| 73 6b 74 6f 70 20 44 42 | 20 63 61 6c 6c 73 09 20 |sktop DB| calls. |
|00000940| 20 20 2f 2f 0d 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f | //.///|////////|
|00000950| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000960| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000970| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000980| 2f 0d 73 74 61 74 69 63 | 20 4f 53 45 72 72 0d 56 |/.static| OSErr.V|
|00000990| 6f 6c 48 61 73 44 65 73 | 6b 74 6f 70 44 42 28 20 |olHasDes|ktopDB( |
|000009a0| 73 68 6f 72 74 20 76 52 | 65 66 4e 75 6d 2c 20 42 |short vR|efNum, B|
|000009b0| 6f 6f 6c 65 61 6e 20 2a | 68 61 73 44 65 73 6b 74 |oolean *|hasDeskt|
|000009c0| 6f 70 20 29 0d 7b 0d 09 | 74 79 70 65 64 65 66 20 |op ).{..|typedef |
|000009d0| 73 74 72 75 63 74 20 7b | 09 09 09 09 09 09 2f 2f |struct {|......//|
|000009e0| 20 56 6f 6c 75 6d 65 20 | 49 6e 66 6f 20 52 65 63 | Volume |Info Rec|
|000009f0| 3b 20 73 65 65 20 49 4d | 2d 56 49 20 32 35 2d 33 |; see IM|-VI 25-3|
|00000a00| 32 0d 09 09 73 68 6f 72 | 74 09 76 4d 56 65 72 73 |2...shor|t.vMVers|
|00000a10| 69 6f 6e 3b 0d 09 09 6c | 6f 6e 67 09 76 4d 41 74 |ion;...l|ong.vMAt|
|00000a20| 74 72 69 62 3b 0d 09 09 | 48 61 6e 64 6c 65 09 76 |trib;...|Handle.v|
|00000a30| 4d 4c 6f 63 61 6c 48 61 | 6e 64 3b 0d 09 09 6c 6f |MLocalHa|nd;...lo|
|00000a40| 6e 67 09 76 4d 53 65 72 | 76 65 72 41 64 64 72 3b |ng.vMSer|verAddr;|
|00000a50| 0d 09 09 6c 6f 6e 67 09 | 76 4d 56 6f 6c 75 6d 65 |...long.|vMVolume|
|00000a60| 47 72 61 64 65 3b 0d 09 | 09 73 68 6f 72 74 09 76 |Grade;..|.short.v|
|00000a70| 4d 46 6f 72 65 69 67 6e | 50 72 69 76 49 44 3b 0d |MForeign|PrivID;.|
|00000a80| 09 7d 20 56 6f 6c 49 6e | 66 6f 52 65 63 3b 0d 09 |.} VolIn|foRec;..|
|00000a90| 63 6f 6e 73 74 20 62 48 | 61 73 4e 65 77 44 65 73 |const bH|asNewDes|
|00000aa0| 6b 20 3d 20 31 4c 20 3c | 3c 31 32 3b 09 09 09 2f |k = 1L <|<12;.../|
|00000ab0| 2f 20 46 6c 61 67 20 6d | 61 73 6b 20 66 6f 72 20 |/ Flag m|ask for |
|00000ac0| 76 4d 41 74 74 72 69 62 | 20 66 69 65 6c 64 0d 09 |vMAttrib| field..|
|00000ad0| 0d 09 48 50 61 72 61 6d | 42 6c 6f 63 6b 52 65 63 |..HParam|BlockRec|
|00000ae0| 20 70 62 3b 0d 09 56 6f | 6c 49 6e 66 6f 52 65 63 | pb;..Vo|lInfoRec|
|00000af0| 20 69 6e 66 6f 3b 0d 09 | 4f 53 45 72 72 20 65 72 | info;..|OSErr er|
|00000b00| 72 3b 0d 09 0d 09 6c 6f | 6e 67 20 69 2c 20 2a 69 |r;....lo|ng i, *i|
|00000b10| 70 3b 0d 09 66 6f 72 28 | 20 69 3d 30 2c 20 69 70 |p;..for(| i=0, ip|
|00000b20| 3d 28 6c 6f 6e 67 2a 29 | 26 70 62 3b 20 69 3c 73 |=(long*)|&pb; i<s|
|00000b30| 69 7a 65 6f 66 28 70 62 | 29 2f 73 69 7a 65 6f 66 |izeof(pb|)/sizeof|
|00000b40| 28 6c 6f 6e 67 29 3b 20 | 69 2b 2b 20 29 09 09 2f |(long); |i++ )../|
|00000b50| 2f 20 43 6c 65 61 72 20 | 70 62 0d 09 09 2a 69 70 |/ Clear |pb...*ip|
|00000b60| 2b 2b 20 3d 20 30 3b 0d | 09 70 62 2e 69 6f 50 61 |++ = 0;.|.pb.ioPa|
|00000b70| 72 61 6d 2e 69 6f 43 6f | 6d 70 6c 65 74 69 6f 6e |ram.ioCo|mpletion|
|00000b80| 20 3d 20 4e 55 4c 4c 3b | 0d 09 70 62 2e 69 6f 50 | = NULL;|..pb.ioP|
|00000b90| 61 72 61 6d 2e 69 6f 4e | 61 6d 65 50 74 72 20 3d |aram.ioN|amePtr =|
|00000ba0| 20 4e 55 4c 4c 3b 0d 09 | 70 62 2e 69 6f 50 61 72 | NULL;..|pb.ioPar|
|00000bb0| 61 6d 2e 69 6f 56 52 65 | 66 4e 75 6d 20 3d 20 76 |am.ioVRe|fNum = v|
|00000bc0| 52 65 66 4e 75 6d 3b 0d | 09 70 62 2e 69 6f 50 61 |RefNum;.|.pb.ioPa|
|00000bd0| 72 61 6d 2e 69 6f 42 75 | 66 66 65 72 20 3d 20 28 |ram.ioBu|ffer = (|
|00000be0| 50 74 72 29 26 69 6e 66 | 6f 3b 0d 09 70 62 2e 69 |Ptr)&inf|o;..pb.i|
|00000bf0| 6f 50 61 72 61 6d 2e 69 | 6f 52 65 71 43 6f 75 6e |oParam.i|oReqCoun|
|00000c00| 74 20 3d 20 73 69 7a 65 | 6f 66 28 56 6f 6c 49 6e |t = size|of(VolIn|
|00000c10| 66 6f 52 65 63 29 3b 0d | 09 0d 09 65 72 72 3d 20 |foRec);.|...err= |
|00000c20| 50 42 48 47 65 74 56 6f | 6c 50 61 72 6d 73 28 26 |PBHGetVo|lParms(&|
|00000c30| 70 62 2c 66 61 6c 73 65 | 29 3b 09 09 09 2f 2f 20 |pb,false|);...// |
|00000c40| 47 65 74 20 76 6f 6c 75 | 6d 65 20 69 6e 66 6f 0d |Get volu|me info.|
|00000c50| 0d 09 2a 68 61 73 44 65 | 73 6b 74 6f 70 20 3d 20 |..*hasDe|sktop = |
|00000c60| 65 72 72 3d 3d 6e 6f 45 | 72 72 20 26 26 20 28 69 |err==noE|rr && (i|
|00000c70| 6e 66 6f 2e 76 4d 41 74 | 74 72 69 62 20 26 20 62 |nfo.vMAt|trib & b|
|00000c80| 48 61 73 4e 65 77 44 65 | 73 6b 29 21 3d 30 3b 0d |HasNewDe|sk)!=0;.|
|00000c90| 09 72 65 74 75 72 6e 20 | 65 72 72 3b 0d 7d 0d 0d |.return |err;.}..|
|00000ca0| 0d 20 20 20 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |. ////|////////|
|00000cb0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000cc0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000cd0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000ce0| 0d 20 20 2f 2f 09 46 69 | 6e 64 41 70 70 4f 6e 56 |. //.Fi|ndAppOnV|
|00000cf0| 6f 6c 75 6d 65 09 09 09 | 09 09 09 09 09 09 09 2f |olume...|......./|
|00000d00| 2f 0d 20 2f 2f 09 09 09 | 41 73 6b 20 76 6f 6c 27 |/. //...|Ask vol'|
|00000d10| 73 20 64 65 73 6b 74 6f | 70 20 64 62 20 66 6f 72 |s deskto|p db for|
|00000d20| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 09 09 20 20 | applica|tion.. |
|00000d30| 20 2f 2f 0d 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f | //.////|////////|
|00000d40| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000d50| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000d60| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000d70| 0d 73 74 61 74 69 63 20 | 4f 53 45 72 72 0d 46 69 |.static |OSErr.Fi|
|00000d80| 6e 64 41 70 70 4f 6e 56 | 6f 6c 75 6d 65 28 20 4f |ndAppOnV|olume( O|
|00000d90| 53 54 79 70 65 20 73 69 | 67 2c 20 73 68 6f 72 74 |SType si|g, short|
|00000da0| 20 76 52 65 66 4e 75 6d | 2c 20 46 53 53 70 65 63 | vRefNum|, FSSpec|
|00000db0| 20 2a 66 69 6c 65 20 29 | 0d 7b 0d 09 44 54 50 42 | *file )|.{..DTPB|
|00000dc0| 52 65 63 20 70 62 3b 0d | 09 4f 53 45 72 72 20 65 |Rec pb;.|.OSErr e|
|00000dd0| 72 72 3b 0d 09 73 68 6f | 72 74 20 72 65 66 4e 75 |rr;..sho|rt refNu|
|00000de0| 6d 3b 0d 09 0d 09 6c 6f | 6e 67 20 69 2c 20 2a 69 |m;....lo|ng i, *i|
|00000df0| 70 3b 0d 09 66 6f 72 28 | 20 69 3d 30 2c 20 69 70 |p;..for(| i=0, ip|
|00000e00| 3d 28 6c 6f 6e 67 2a 29 | 26 70 62 3b 20 69 3c 73 |=(long*)|&pb; i<s|
|00000e10| 69 7a 65 6f 66 28 70 62 | 29 2f 73 69 7a 65 6f 66 |izeof(pb|)/sizeof|
|00000e20| 28 6c 6f 6e 67 29 3b 20 | 69 2b 2b 20 29 09 09 2f |(long); |i++ )../|
|00000e30| 2f 20 43 6c 65 61 72 20 | 70 62 0d 09 09 2a 69 70 |/ Clear |pb...*ip|
|00000e40| 2b 2b 20 3d 20 30 3b 0d | 0d 09 70 62 2e 69 6f 43 |++ = 0;.|..pb.ioC|
|00000e50| 6f 6d 70 6c 65 74 69 6f | 6e 20 3d 20 4e 55 4c 4c |ompletio|n = NULL|
|00000e60| 3b 0d 09 70 62 2e 69 6f | 56 52 65 66 4e 75 6d 20 |;..pb.io|VRefNum |
|00000e70| 3d 20 76 52 65 66 4e 75 | 6d 3b 0d 09 70 62 2e 69 |= vRefNu|m;..pb.i|
|00000e80| 6f 4e 61 6d 65 50 74 72 | 20 3d 20 4e 55 4c 4c 3b |oNamePtr| = NULL;|
|00000e90| 0d 09 65 72 72 3d 20 50 | 42 44 54 47 65 74 50 61 |..err= P|BDTGetPa|
|00000ea0| 74 68 28 26 70 62 29 3b | 09 09 09 09 2f 2f 20 50 |th(&pb);|....// P|
|00000eb0| 75 74 73 20 44 54 20 72 | 65 66 6e 75 6d 20 69 6e |uts DT r|efnum in|
|00000ec0| 74 6f 20 70 62 2e 69 6f | 44 54 52 65 66 4e 75 6d |to pb.io|DTRefNum|
|00000ed0| 0d 09 69 66 28 20 65 72 | 72 20 29 20 72 65 74 75 |..if( er|r ) retu|
|00000ee0| 72 6e 20 65 72 72 3b 0d | 09 72 65 66 4e 75 6d 20 |rn err;.|.refNum |
|00000ef0| 3d 20 70 62 2e 69 6f 44 | 54 52 65 66 4e 75 6d 3b |= pb.ioD|TRefNum;|
|00000f00| 0d 09 0d 09 70 62 2e 69 | 6f 43 6f 6d 70 6c 65 74 |....pb.i|oComplet|
|00000f10| 69 6f 6e 20 3d 20 4e 55 | 4c 4c 3b 0d 09 70 62 2e |ion = NU|LL;..pb.|
|00000f20| 69 6f 44 54 52 65 66 4e | 75 6d 20 3d 20 72 65 66 |ioDTRefN|um = ref|
|00000f30| 4e 75 6d 3b 0d 09 70 62 | 2e 69 6f 49 6e 64 65 78 |Num;..pb|.ioIndex|
|00000f40| 20 3d 20 30 3b 0d 09 70 | 62 2e 69 6f 46 69 6c 65 | = 0;..p|b.ioFile|
|00000f50| 43 72 65 61 74 6f 72 20 | 3d 20 73 69 67 3b 0d 09 |Creator |= sig;..|
|00000f60| 70 62 2e 69 6f 4e 61 6d | 65 50 74 72 20 3d 20 28 |pb.ioNam|ePtr = (|
|00000f70| 53 74 72 69 6e 67 50 74 | 72 29 26 66 69 6c 65 2d |StringPt|r)&file-|
|00000f80| 3e 6e 61 6d 65 3b 0d 09 | 65 72 72 3d 20 50 42 44 |>name;..|err= PBD|
|00000f90| 54 47 65 74 41 50 50 4c | 53 79 6e 63 28 26 70 62 |TGetAPPL|Sync(&pb|
|00000fa0| 29 3b 09 09 09 09 09 09 | 2f 2f 20 46 69 6e 64 20 |);......|// Find |
|00000fb0| 69 74 21 0d 09 0d 09 69 | 66 28 20 65 72 72 20 3d |it!....i|f( err =|
|00000fc0| 3d 20 66 6e 66 45 72 72 | 20 29 0d 09 09 65 72 72 |= fnfErr| )...err|
|00000fd0| 20 3d 20 61 66 70 49 74 | 65 6d 4e 6f 74 46 6f 75 | = afpIt|emNotFou|
|00000fe0| 6e 64 3b 09 09 09 09 09 | 09 2f 2f 20 42 75 67 20 |nd;.....|.// Bug |
|00000ff0| 69 6e 20 50 42 44 54 47 | 65 74 41 50 50 4c 0d 09 |in PBDTG|etAPPL..|
|00001000| 69 66 28 20 65 72 72 20 | 29 0d 09 09 72 65 74 75 |if( err |)...retu|
|00001010| 72 6e 20 65 72 72 3b 09 | 09 09 09 09 09 09 09 09 |rn err;.|........|
|00001020| 2f 2f 20 52 65 74 75 72 | 6e 73 20 61 66 70 49 74 |// Retur|ns afpIt|
|00001030| 65 6d 4e 6f 74 46 6f 75 | 6e 64 20 69 66 20 61 70 |emNotFou|nd if ap|
|00001040| 70 20 77 61 73 6e 27 74 | 20 66 6f 75 6e 64 2e 0d |p wasn't| found..|
|00001050| 0d 09 66 69 6c 65 2d 3e | 76 52 65 66 4e 75 6d 20 |..file->|vRefNum |
|00001060| 3d 20 76 52 65 66 4e 75 | 6d 3b 0d 09 66 69 6c 65 |= vRefNu|m;..file|
|00001070| 2d 3e 70 61 72 49 44 20 | 3d 20 70 62 2e 69 6f 41 |->parID |= pb.ioA|
|00001080| 50 50 4c 50 61 72 49 44 | 3b 0d 09 72 65 74 75 72 |PPLParID|;..retur|
|00001090| 6e 20 6e 6f 45 72 72 3b | 0d 7d 0d 0d 0d 20 20 20 |n noErr;|.}... |
|000010a0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000010b0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000010c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000010d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 20 20 2f |////////|////. /|
|000010e0| 2f 09 42 75 69 6c 64 4f | 44 6f 63 09 09 09 09 09 |/.BuildO|Doc.....|
|000010f0| 09 09 09 09 09 09 2f 2f | 0d 20 2f 2f 09 09 09 43 |......//|. //...C|
|00001100| 6f 6e 73 74 72 75 63 74 | 20 61 6e 20 27 6f 64 6f |onstruct| an 'odo|
|00001110| 63 27 20 41 70 70 6c 65 | 20 65 76 65 6e 74 09 09 |c' Apple| event..|
|00001120| 09 09 20 20 20 2f 2f 0d | 2f 2f 2f 2f 2f 2f 2f 2f |.. //.|////////|
|00001130| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001140| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001150| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001160| 2f 2f 2f 2f 0d 73 74 61 | 74 69 63 20 4f 53 45 72 |////.sta|tic OSEr|
|00001170| 72 0d 42 75 69 6c 64 4f | 44 6f 63 28 20 63 6f 6e |r.BuildO|Doc( con|
|00001180| 73 74 20 46 53 53 70 65 | 63 20 2a 66 69 6c 65 53 |st FSSpe|c *fileS|
|00001190| 70 65 63 2c 20 4f 53 54 | 79 70 65 20 73 69 67 6e |pec, OST|ype sign|
|000011a0| 61 74 75 72 65 2c 20 63 | 6f 6e 73 74 20 50 72 6f |ature, c|onst Pro|
|000011b0| 63 65 73 73 53 65 72 69 | 61 6c 4e 75 6d 62 65 72 |cessSeri|alNumber|
|000011c0| 20 2a 70 73 6e 2c 0d 09 | 09 20 20 20 41 70 70 6c | *psn,..|. Appl|
|000011d0| 65 45 76 65 6e 74 20 2a | 65 76 65 6e 74 20 29 0d |eEvent *|event ).|
|000011e0| 7b 0d 09 2f 2f 20 49 66 | 20 70 73 6e 20 69 73 20 |{..// If| psn is |
|000011f0| 6e 6f 6e 2d 4e 55 4c 4c | 20 74 68 65 20 65 76 65 |non-NULL| the eve|
|00001200| 6e 74 20 77 69 6c 6c 20 | 62 65 20 61 64 64 72 65 |nt will |be addre|
|00001210| 73 73 65 64 20 74 6f 20 | 74 68 61 74 20 70 72 6f |ssed to |that pro|
|00001220| 63 65 73 73 3b 0d 09 2f | 2f 20 6f 74 68 65 72 77 |cess;../|/ otherw|
|00001230| 69 73 65 20 69 74 27 6c | 6c 20 62 65 20 61 64 64 |ise it'l|l be add|
|00001240| 72 65 73 73 65 64 20 74 | 6f 20 74 68 65 20 73 75 |ressed t|o the su|
|00001250| 70 70 6c 69 65 64 20 73 | 69 67 6e 61 74 75 72 65 |pplied s|ignature|
|00001260| 2e 0d 09 0d 09 41 45 44 | 65 73 63 20 61 64 64 72 |.....AED|esc addr|
|00001270| 2c 65 76 3b 0d 09 4f 53 | 45 72 72 20 65 72 72 3b |,ev;..OS|Err err;|
|00001280| 0d 09 0d 09 65 76 65 6e | 74 2d 3e 64 65 73 63 72 |....even|t->descr|
|00001290| 69 70 74 6f 72 54 79 70 | 65 20 3d 20 30 3b 0d 09 |iptorTyp|e = 0;..|
|000012a0| 65 76 65 6e 74 2d 3e 64 | 61 74 61 48 61 6e 64 6c |event->d|ataHandl|
|000012b0| 65 20 3d 20 4e 55 4c 4c | 3b 0d 09 0d 09 69 66 28 |e = NULL|;....if(|
|000012c0| 20 70 73 6e 20 29 0d 09 | 09 65 72 72 3d 20 41 45 | psn )..|.err= AE|
|000012d0| 43 72 65 61 74 65 44 65 | 73 63 28 74 79 70 65 50 |CreateDe|sc(typeP|
|000012e0| 72 6f 63 65 73 73 53 65 | 72 69 61 6c 4e 75 6d 62 |rocessSe|rialNumb|
|000012f0| 65 72 2c 28 76 6f 69 64 | 2a 29 70 73 6e 2c 73 69 |er,(void|*)psn,si|
|00001300| 7a 65 6f 66 28 2a 70 73 | 6e 29 2c 20 26 61 64 64 |zeof(*ps|n), &add|
|00001310| 72 29 3b 0d 09 65 6c 73 | 65 0d 09 09 65 72 72 3d |r);..els|e...err=|
|00001320| 20 41 45 43 72 65 61 74 | 65 44 65 73 63 28 74 79 | AECreat|eDesc(ty|
|00001330| 70 65 41 70 70 6c 53 69 | 67 6e 61 74 75 72 65 2c |peApplSi|gnature,|
|00001340| 28 76 6f 69 64 2a 29 26 | 73 69 67 6e 61 74 75 72 |(void*)&|signatur|
|00001350| 65 2c 73 69 7a 65 6f 66 | 28 73 69 67 6e 61 74 75 |e,sizeof|(signatu|
|00001360| 72 65 29 2c 20 26 61 64 | 64 72 29 3b 0d 09 69 66 |re), &ad|dr);..if|
|00001370| 28 20 65 72 72 20 29 20 | 72 65 74 75 72 6e 20 65 |( err ) |return e|
|00001380| 72 72 3b 0d 09 0d 09 65 | 72 72 3d 20 41 45 43 72 |rr;....e|rr= AECr|
|00001390| 65 61 74 65 41 70 70 6c | 65 45 76 65 6e 74 28 6b |eateAppl|eEvent(k|
|000013a0| 43 6f 72 65 45 76 65 6e | 74 43 6c 61 73 73 2c 6b |CoreEven|tClass,k|
|000013b0| 41 45 4f 70 65 6e 44 6f | 63 75 6d 65 6e 74 73 2c |AEOpenDo|cuments,|
|000013c0| 20 26 61 64 64 72 2c 6b | 41 75 74 6f 47 65 6e 65 | &addr,k|AutoGene|
|000013d0| 72 61 74 65 52 65 74 75 | 72 6e 49 44 2c 30 2c 26 |rateRetu|rnID,0,&|
|000013e0| 65 76 29 3b 0d 09 41 45 | 44 69 73 70 6f 73 65 44 |ev);..AE|DisposeD|
|000013f0| 65 73 63 28 26 61 64 64 | 72 29 3b 0d 09 69 66 28 |esc(&add|r);..if(|
|00001400| 20 21 65 72 72 20 29 0d | 09 09 65 72 72 3d 20 41 | !err ).|..err= A|
|00001410| 45 50 75 74 50 61 72 61 | 6d 50 74 72 28 26 65 76 |EPutPara|mPtr(&ev|
|00001420| 2c 6b 65 79 44 69 72 65 | 63 74 4f 62 6a 65 63 74 |,keyDire|ctObject|
|00001430| 2c 20 74 79 70 65 46 53 | 53 2c 28 76 6f 69 64 2a |, typeFS|S,(void*|
|00001440| 29 66 69 6c 65 53 70 65 | 63 2c 73 69 7a 65 6f 66 |)fileSpe|c,sizeof|
|00001450| 28 46 53 53 70 65 63 29 | 29 3b 0d 09 0d 09 69 66 |(FSSpec)|);....if|
|00001460| 28 20 65 72 72 20 29 0d | 09 09 41 45 44 69 73 70 |( err ).|..AEDisp|
|00001470| 6f 73 65 44 65 73 63 28 | 26 65 76 29 3b 0d 09 65 |oseDesc(|&ev);..e|
|00001480| 6c 73 65 0d 09 09 2a 65 | 76 65 6e 74 20 3d 20 65 |lse...*e|vent = e|
|00001490| 76 3b 0d 09 72 65 74 75 | 72 6e 20 65 72 72 3b 0d |v;..retu|rn err;.|
|000014a0| 7d 0d 0d 0d 20 20 20 2f | 2f 2f 2f 2f 2f 2f 2f 2f |}... /|////////|
|000014b0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000014c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000014d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000014e0| 2f 2f 2f 0d 20 20 2f 2f | 09 4c 61 75 6e 63 68 49 |///. //|.LaunchI|
|000014f0| 74 09 09 09 09 09 09 09 | 09 09 09 09 2f 2f 0d 20 |t.......|....//. |
|00001500| 2f 2f 09 09 09 4c 61 75 | 6e 63 68 20 61 70 70 20 |//...Lau|nch app |
|00001510| 6f 6e 63 65 20 77 65 20 | 68 61 76 65 20 61 20 6c |once we |have a l|
|00001520| 6f 63 61 74 69 6f 6e 09 | 09 09 20 20 20 2f 2f 0d |ocation.|.. //.|
|00001530| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001540| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001550| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001560| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 73 74 61 |////////|////.sta|
|00001570| 74 69 63 20 4f 53 45 72 | 72 0d 4c 61 75 6e 63 68 |tic OSEr|r.Launch|
|00001580| 49 74 28 20 63 6f 6e 73 | 74 20 46 53 53 70 65 63 |It( cons|t FSSpec|
|00001590| 20 2a 66 69 6c 65 53 70 | 65 63 2c 20 4c 61 75 6e | *fileSp|ec, Laun|
|000015a0| 63 68 46 6c 61 67 73 20 | 6c 61 75 6e 63 68 43 6f |chFlags |launchCo|
|000015b0| 6e 74 72 6f 6c 46 6c 61 | 67 73 2c 20 63 6f 6e 73 |ntrolFla|gs, cons|
|000015c0| 74 20 41 70 70 6c 65 45 | 76 65 6e 74 20 2a 6f 64 |t AppleE|vent *od|
|000015d0| 6f 63 2c 0d 09 09 09 50 | 72 6f 63 65 73 73 53 65 |oc,....P|rocessSe|
|000015e0| 72 69 61 6c 4e 75 6d 62 | 65 72 20 2a 70 73 6e 20 |rialNumb|er *psn |
|000015f0| 29 0d 7b 0d 09 4c 61 75 | 6e 63 68 50 61 72 61 6d |).{..Lau|nchParam|
|00001600| 42 6c 6f 63 6b 52 65 63 | 20 70 62 3b 0d 09 41 45 |BlockRec| pb;..AE|
|00001610| 44 65 73 63 20 70 61 72 | 61 6d 44 65 73 63 3b 0d |Desc par|amDesc;.|
|00001620| 09 4f 53 45 72 72 20 65 | 72 72 3b 0d 09 0d 09 70 |.OSErr e|rr;....p|
|00001630| 62 2e 6c 61 75 6e 63 68 | 42 6c 6f 63 6b 49 44 20 |b.launch|BlockID |
|00001640| 3d 20 65 78 74 65 6e 64 | 65 64 42 6c 6f 63 6b 3b |= extend|edBlock;|
|00001650| 0d 09 70 62 2e 6c 61 75 | 6e 63 68 45 50 42 4c 65 |..pb.lau|nchEPBLe|
|00001660| 6e 67 74 68 20 3d 20 65 | 78 74 65 6e 64 65 64 42 |ngth = e|xtendedB|
|00001670| 6c 6f 63 6b 4c 65 6e 3b | 0d 09 70 62 2e 6c 61 75 |lockLen;|..pb.lau|
|00001680| 6e 63 68 46 69 6c 65 46 | 6c 61 67 73 20 3d 20 6c |nchFileF|lags = l|
|00001690| 61 75 6e 63 68 4e 6f 46 | 69 6c 65 46 6c 61 67 73 |aunchNoF|ileFlags|
|000016a0| 3b 0d 09 70 62 2e 6c 61 | 75 6e 63 68 43 6f 6e 74 |;..pb.la|unchCont|
|000016b0| 72 6f 6c 46 6c 61 67 73 | 20 3d 20 6c 61 75 6e 63 |rolFlags| = launc|
|000016c0| 68 43 6f 6e 74 72 6f 6c | 46 6c 61 67 73 20 7c 20 |hControl|Flags | |
|000016d0| 6c 61 75 6e 63 68 4e 6f | 46 69 6c 65 46 6c 61 67 |launchNo|FileFlag|
|000016e0| 73 3b 0d 09 70 62 2e 6c | 61 75 6e 63 68 41 70 70 |s;..pb.l|aunchApp|
|000016f0| 53 70 65 63 20 3d 20 28 | 46 53 53 70 65 63 2a 29 |Spec = (|FSSpec*)|
|00001700| 66 69 6c 65 53 70 65 63 | 3b 0d 09 70 62 2e 6c 61 |fileSpec|;..pb.la|
|00001710| 75 6e 63 68 50 72 6f 63 | 65 73 73 53 4e 2e 68 69 |unchProc|essSN.hi|
|00001720| 67 68 4c 6f 6e 67 4f 66 | 50 53 4e 20 3d 20 30 3b |ghLongOf|PSN = 0;|
|00001730| 0d 09 70 62 2e 6c 61 75 | 6e 63 68 50 72 6f 63 65 |..pb.lau|nchProce|
|00001740| 73 73 53 4e 2e 6c 6f 77 | 4c 6f 6e 67 4f 66 50 53 |ssSN.low|LongOfPS|
|00001750| 4e 20 3d 20 30 3b 0d 09 | 0d 09 69 66 28 20 6f 64 |N = 0;..|..if( od|
|00001760| 6f 63 20 29 20 7b 0d 09 | 09 65 72 72 3d 20 41 45 |oc ) {..|.err= AE|
|00001770| 43 6f 65 72 63 65 44 65 | 73 63 28 6f 64 6f 63 2c |CoerceDe|sc(odoc,|
|00001780| 74 79 70 65 41 70 70 50 | 61 72 61 6d 65 74 65 72 |typeAppP|arameter|
|00001790| 73 2c 20 26 70 61 72 61 | 6d 44 65 73 63 29 3b 0d |s, ¶|mDesc);.|
|000017a0| 09 09 69 66 28 20 65 72 | 72 20 29 20 72 65 74 75 |..if( er|r ) retu|
|000017b0| 72 6e 20 65 72 72 3b 0d | 09 09 48 4c 6f 63 6b 28 |rn err;.|..HLock(|
|000017c0| 70 61 72 61 6d 44 65 73 | 63 2e 64 61 74 61 48 61 |paramDes|c.dataHa|
|000017d0| 6e 64 6c 65 29 3b 0d 09 | 09 70 62 2e 6c 61 75 6e |ndle);..|.pb.laun|
|000017e0| 63 68 41 70 70 50 61 72 | 61 6d 65 74 65 72 73 20 |chAppPar|ameters |
|000017f0| 3d 20 28 76 6f 69 64 2a | 29 20 2a 70 61 72 61 6d |= (void*|) *param|
|00001800| 44 65 73 63 2e 64 61 74 | 61 48 61 6e 64 6c 65 3b |Desc.dat|aHandle;|
|00001810| 0d 09 7d 20 65 6c 73 65 | 0d 09 09 70 62 2e 6c 61 |..} else|...pb.la|
|00001820| 75 6e 63 68 41 70 70 50 | 61 72 61 6d 65 74 65 72 |unchAppP|arameter|
|00001830| 73 20 3d 20 4e 55 4c 4c | 3b 0d 09 0d 09 65 72 72 |s = NULL|;....err|
|00001840| 3d 20 4c 61 75 6e 63 68 | 41 70 70 6c 69 63 61 74 |= Launch|Applicat|
|00001850| 69 6f 6e 28 26 70 62 29 | 3b 0d 09 0d 09 69 66 28 |ion(&pb)|;....if(|
|00001860| 20 6f 64 6f 63 20 29 0d | 09 09 41 45 44 69 73 70 | odoc ).|..AEDisp|
|00001870| 6f 73 65 44 65 73 63 28 | 26 70 61 72 61 6d 44 65 |oseDesc(|¶mDe|
|00001880| 73 63 29 3b 0d 09 09 0d | 09 69 66 28 20 65 72 72 |sc);....|.if( err|
|00001890| 20 3d 3d 20 6e 6f 45 72 | 72 20 29 20 7b 0d 23 69 | == noEr|r ) {.#i|
|000018a0| 66 20 30 0d 09 09 2f 2f | 20 61 6e 6f 74 68 65 72 |f 0...//| another|
|000018b0| 20 63 68 61 6e 67 65 20 | 62 79 20 54 69 6d 2e 20 | change |by Tim. |
|000018c0| 4c 61 75 6e 63 68 41 70 | 70 6c 69 63 61 74 69 6f |LaunchAp|plicatio|
|000018d0| 6e 20 73 6f 6d 65 74 69 | 6d 65 73 20 64 6f 65 73 |n someti|mes does|
|000018e0| 6e 27 74 20 72 65 70 6f | 72 74 0d 09 09 2f 2f 20 |n't repo|rt...// |
|000018f0| 61 6e 20 65 72 72 6f 72 | 20 65 76 65 6e 20 74 68 |an error| even th|
|00001900| 6f 75 67 68 20 69 74 20 | 66 61 69 6c 65 64 20 74 |ough it |failed t|
|00001910| 6f 20 6c 61 75 6e 63 68 | 2e 20 73 6f 20 63 68 65 |o launch|. so che|
|00001920| 63 6b 20 74 68 65 20 50 | 53 4e 21 0d 09 09 2f 2f |ck the P|SN!...//|
|00001930| 20 74 68 69 73 20 63 6f | 64 65 20 64 69 64 20 6e | this co|de did n|
|00001940| 6f 74 20 77 6f 72 6b 20 | 66 6f 72 20 73 6f 6d 65 |ot work |for some|
|00001950| 20 75 6e 6b 6e 6f 77 6e | 20 72 65 61 73 6f 6e 2e | unknown| reason.|
|00001960| 0d 09 09 50 72 6f 63 65 | 73 73 49 6e 66 6f 52 65 |...Proce|ssInfoRe|
|00001970| 63 20 69 6e 66 6f 3b 0d | 09 09 45 76 65 6e 74 52 |c info;.|..EventR|
|00001980| 65 63 6f 72 64 20 65 76 | 65 6e 74 3b 0d 09 09 0d |ecord ev|ent;....|
|00001990| 09 09 57 61 69 74 4e 65 | 78 74 45 76 65 6e 74 28 |..WaitNe|xtEvent(|
|000019a0| 30 2c 20 26 65 76 65 6e | 74 2c 20 30 2c 20 4e 55 |0, &even|t, 0, NU|
|000019b0| 4c 4c 29 3b 20 2f 2f 20 | 69 74 20 64 6f 65 73 6e |LL); // |it doesn|
|000019c0| 27 74 20 6c 61 75 6e 63 | 68 20 75 6e 74 69 6c 20 |'t launc|h until |
|000019d0| 74 68 69 73 20 63 61 6c | 6c 20 69 73 20 6d 61 64 |this cal|l is mad|
|000019e0| 65 0d 09 09 69 6e 66 6f | 2e 70 72 6f 63 65 73 73 |e...info|.process|
|000019f0| 49 6e 66 6f 4c 65 6e 67 | 74 68 20 3d 20 73 69 7a |InfoLeng|th = siz|
|00001a00| 65 6f 66 28 50 72 6f 63 | 65 73 73 49 6e 66 6f 52 |eof(Proc|essInfoR|
|00001a10| 65 63 29 3b 0d 09 09 69 | 6e 66 6f 2e 70 72 6f 63 |ec);...i|nfo.proc|
|00001a20| 65 73 73 4e 61 6d 65 20 | 3d 20 4e 55 4c 4c 3b 0d |essName |= NULL;.|
|00001a30| 09 09 69 6e 66 6f 2e 70 | 72 6f 63 65 73 73 41 70 |..info.p|rocessAp|
|00001a40| 70 53 70 65 63 20 3d 20 | 4e 55 4c 4c 3b 0d 09 09 |pSpec = |NULL;...|
|00001a50| 65 72 72 20 3d 20 47 65 | 74 50 72 6f 63 65 73 73 |err = Ge|tProcess|
|00001a60| 49 6e 66 6f 72 6d 61 74 | 69 6f 6e 28 26 70 62 2e |Informat|ion(&pb.|
|00001a70| 6c 61 75 6e 63 68 50 72 | 6f 63 65 73 73 53 4e 2c |launchPr|ocessSN,|
|00001a80| 20 26 69 6e 66 6f 29 3b | 0d 09 09 69 66 20 28 65 | &info);|...if (e|
|00001a90| 72 72 20 3d 3d 20 6e 6f | 45 72 72 29 0d 23 65 6e |rr == no|Err).#en|
|00001aa0| 64 69 66 0d 09 09 09 2a | 70 73 6e 20 3d 20 70 62 |dif....*|psn = pb|
|00001ab0| 2e 6c 61 75 6e 63 68 50 | 72 6f 63 65 73 73 53 4e |.launchP|rocessSN|
|00001ac0| 3b 0d 09 7d 0d 09 72 65 | 74 75 72 6e 20 65 72 72 |;..}..re|turn err|
|00001ad0| 3b 0d 7d 0d 0d 0d 20 20 | 20 2f 2f 2f 2f 2f 2f 2f |;.}... | ///////|
|00001ae0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001af0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001b00| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001b10| 2f 2f 2f 2f 2f 0d 20 20 | 2f 2f 09 53 69 67 6e 61 |/////. |//.Signa|
|00001b20| 74 75 72 65 54 6f 41 70 | 70 09 09 09 09 09 09 09 |tureToAp|p.......|
|00001b30| 09 09 09 2f 2f 0d 20 2f | 2f 09 09 09 4d 61 69 6e |...//. /|/...Main|
|00001b40| 20 72 6f 75 74 69 6e 65 | 2e 20 46 69 6e 64 20 61 | routine|. Find a|
|00001b50| 70 70 2c 20 6c 61 75 6e | 63 68 69 6e 67 20 69 66 |pp, laun|ching if|
|00001b60| 20 6e 65 65 64 20 62 65 | 20 20 20 2f 2f 0d 2f 2f | need be| //.//|
|00001b70| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001b80| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001b90| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001ba0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 0d 4f 53 45 72 72 |////////|//.OSErr|
|00001bb0| 0d 53 69 67 6e 61 74 75 | 72 65 54 6f 41 70 70 28 |.Signatu|reToApp(|
|00001bc0| 20 4f 53 54 79 70 65 20 | 73 69 67 2c 20 63 6f 6e | OSType |sig, con|
|00001bd0| 73 74 20 46 53 53 70 65 | 63 20 2a 64 6f 63 75 6d |st FSSpe|c *docum|
|00001be0| 65 6e 74 2c 0d 09 09 09 | 09 50 72 6f 63 65 73 73 |ent,....|.Process|
|00001bf0| 53 65 72 69 61 6c 4e 75 | 6d 62 65 72 20 2a 70 73 |SerialNu|mber *ps|
|00001c00| 6e 2c 20 46 53 53 70 65 | 63 20 2a 66 69 6c 65 53 |n, FSSpe|c *fileS|
|00001c10| 70 65 63 2c 20 42 6f 6f | 6c 65 61 6e 20 2a 6c 61 |pec, Boo|lean *la|
|00001c20| 75 6e 63 68 65 64 2c 0d | 09 09 09 09 53 69 67 32 |unched,.|....Sig2|
|00001c30| 41 70 70 5f 4d 6f 64 65 | 20 6d 6f 64 65 2c 0d 09 |App_Mode| mode,..|
|00001c40| 09 09 09 4c 61 75 6e 63 | 68 46 6c 61 67 73 20 6c |...Launc|hFlags l|
|00001c50| 61 75 6e 63 68 43 6f 6e | 74 72 6f 6c 46 6c 61 67 |aunchCon|trolFlag|
|00001c60| 73 20 29 0d 7b 0d 09 50 | 72 6f 63 65 73 73 53 65 |s ).{..P|rocessSe|
|00001c70| 72 69 61 6c 4e 75 6d 62 | 65 72 20 64 75 6d 6d 79 |rialNumb|er dummy|
|00001c80| 50 53 4e 3b 0d 09 4f 53 | 45 72 72 20 65 72 72 3b |PSN;..OS|Err err;|
|00001c90| 0d 09 73 68 6f 72 74 20 | 73 79 73 56 52 65 66 4e |..short |sysVRefN|
|00001ca0| 75 6d 2c 20 76 52 65 66 | 4e 75 6d 2c 20 69 6e 64 |um, vRef|Num, ind|
|00001cb0| 65 78 3b 0d 09 46 53 53 | 70 65 63 20 66 69 6c 65 |ex;..FSS|pec file|
|00001cc0| 3b 0d 09 42 6f 6f 6c 65 | 61 6e 20 68 61 73 44 65 |;..Boole|an hasDe|
|00001cd0| 73 6b 74 6f 70 44 42 3b | 0d 09 0d 09 69 66 28 20 |sktopDB;|....if( |
|00001ce0| 6c 61 75 6e 63 68 65 64 | 20 29 0d 09 09 2a 6c 61 |launched| )...*la|
|00001cf0| 75 6e 63 68 65 64 20 3d | 20 66 61 6c 73 65 3b 0d |unched =| false;.|
|00001d00| 09 69 66 28 20 70 73 6e | 20 3d 3d 20 4e 55 4c 4c |.if( psn| == NULL|
|00001d10| 20 29 0d 09 09 70 73 6e | 20 3d 20 26 64 75 6d 6d | )...psn| = &dumm|
|00001d20| 79 50 53 4e 3b 09 09 09 | 09 09 09 09 09 2f 2f 20 |yPSN;...|.....// |
|00001d30| 41 6c 6c 6f 77 20 70 73 | 6e 20 70 61 72 61 6d 65 |Allow ps|n parame|
|00001d40| 74 65 72 20 74 6f 20 62 | 65 20 4e 49 4c 0d 09 0d |ter to b|e NIL...|
|00001d50| 09 2f 2f 20 46 69 72 73 | 74 20 73 65 65 20 69 66 |.// Firs|t see if|
|00001d60| 20 69 74 27 73 20 61 6c | 72 65 61 64 79 20 72 75 | it's al|ready ru|
|00001d70| 6e 6e 69 6e 67 3a 0d 09 | 0d 09 65 72 72 3d 20 46 |nning:..|..err= F|
|00001d80| 69 6e 64 52 75 6e 6e 69 | 6e 67 41 70 70 42 79 53 |indRunni|ngAppByS|
|00001d90| 69 67 6e 61 74 75 72 65 | 28 73 69 67 2c 70 73 6e |ignature|(sig,psn|
|00001da0| 2c 66 69 6c 65 53 70 65 | 63 29 3b 0d 09 0d 09 69 |,fileSpe|c);....i|
|00001db0| 66 28 20 65 72 72 3d 3d | 6e 6f 45 72 72 20 26 26 |f( err==|noErr &&|
|00001dc0| 20 6d 6f 64 65 3d 3d 53 | 69 67 32 41 70 70 5f 4c | mode==S|ig2App_L|
|00001dd0| 61 75 6e 63 68 41 70 70 | 6c 69 63 61 74 69 6f 6e |aunchApp|lication|
|00001de0| 20 29 20 7b 0d 09 09 69 | 66 28 20 28 6c 61 75 6e | ) {...i|f( (laun|
|00001df0| 63 68 43 6f 6e 74 72 6f | 6c 46 6c 61 67 73 20 26 |chContro|lFlags &|
|00001e00| 20 6c 61 75 6e 63 68 44 | 6f 6e 74 53 77 69 74 63 | launchD|ontSwitc|
|00001e10| 68 29 20 3d 3d 20 30 20 | 29 20 7b 0d 09 09 09 65 |h) == 0 |) {....e|
|00001e20| 72 72 3d 20 53 65 74 46 | 72 6f 6e 74 50 72 6f 63 |rr= SetF|rontProc|
|00001e30| 65 73 73 28 70 73 6e 29 | 3b 09 09 09 09 2f 2f 20 |ess(psn)|;....// |
|00001e40| 54 68 65 79 20 77 61 6e | 74 65 64 20 74 6f 20 73 |They wan|ted to s|
|00001e50| 77 69 74 63 68 20 74 6f | 20 69 74 c9 0d 09 09 09 |witch to| it.....|
|00001e60| 69 66 28 20 65 72 72 20 | 29 20 72 65 74 75 72 6e |if( err |) return|
|00001e70| 20 65 72 72 3b 0d 09 09 | 7d 0d 09 09 69 66 28 20 | err;...|}...if( |
|00001e80| 64 6f 63 75 6d 65 6e 74 | 20 29 20 7b 0d 09 09 09 |document| ) {....|
|00001e90| 2f 2f 20 54 68 65 79 20 | 77 61 6e 6e 61 20 6f 70 |// They |wanna op|
|00001ea0| 65 6e 20 61 20 64 6f 63 | 75 6d 65 6e 74 2c 20 73 |en a doc|ument, s|
|00001eb0| 6f 20 64 6f 20 69 74 3a | 0d 09 09 09 41 70 70 6c |o do it:|....Appl|
|00001ec0| 65 45 76 65 6e 74 20 61 | 65 76 74 3b 0d 09 09 09 |eEvent a|evt;....|
|00001ed0| 65 72 72 3d 20 42 75 69 | 6c 64 4f 44 6f 63 28 64 |err= Bui|ldODoc(d|
|00001ee0| 6f 63 75 6d 65 6e 74 2c | 73 69 67 2c 70 73 6e 2c |ocument,|sig,psn,|
|00001ef0| 20 26 61 65 76 74 29 3b | 0d 09 09 09 69 66 28 20 | &aevt);|....if( |
|00001f00| 21 65 72 72 20 29 0d 09 | 09 09 09 65 72 72 3d 20 |!err )..|...err= |
|00001f10| 41 45 53 65 6e 64 28 26 | 61 65 76 74 2c 4e 55 4c |AESend(&|aevt,NUL|
|00001f20| 4c 2c 6b 41 45 4e 6f 52 | 65 70 6c 79 20 7c 20 6b |L,kAENoR|eply | k|
|00001f30| 41 45 41 6c 77 61 79 73 | 49 6e 74 65 72 61 63 74 |AEAlways|Interact|
|00001f40| 2c 0d 09 09 09 09 09 09 | 09 6b 41 45 4e 6f 72 6d |,.......|.kAENorm|
|00001f50| 61 6c 50 72 69 6f 72 69 | 74 79 2c 6b 41 45 44 65 |alPriori|ty,kAEDe|
|00001f60| 66 61 75 6c 74 54 69 6d | 65 6f 75 74 2c 0d 09 09 |faultTim|eout,...|
|00001f70| 09 09 09 09 09 4e 55 4c | 4c 2c 4e 55 4c 4c 29 3b |.....NUL|L,NULL);|
|00001f80| 0d 09 09 09 41 45 44 69 | 73 70 6f 73 65 44 65 73 |....AEDi|sposeDes|
|00001f90| 63 28 26 61 65 76 74 29 | 3b 0d 09 09 7d 0d 09 09 |c(&aevt)|;...}...|
|00001fa0| 72 65 74 75 72 6e 20 65 | 72 72 3b 0d 09 7d 0d 0d |return e|rr;..}..|
|00001fb0| 09 69 66 28 20 65 72 72 | 20 21 3d 20 70 72 6f 63 |.if( err| != proc|
|00001fc0| 4e 6f 74 46 6f 75 6e 64 | 20 7c 7c 20 6d 6f 64 65 |NotFound| || mode|
|00001fd0| 3c 3d 53 69 67 32 41 70 | 70 5f 46 69 6e 64 50 72 |<=Sig2Ap|p_FindPr|
|00001fe0| 6f 63 65 73 73 20 29 0d | 09 09 72 65 74 75 72 6e |ocess ).|..return|
|00001ff0| 20 65 72 72 3b 0d 09 0d | 09 2f 2f 20 57 65 6c 6c | err;...|.// Well|
|00002000| 2c 20 69 74 27 73 20 6e | 6f 74 20 72 75 6e 6e 69 |, it's n|ot runni|
|00002010| 6e 67 20 62 75 74 20 69 | 74 27 73 20 6f 6b 61 79 |ng but i|t's okay|
|00002020| 20 74 6f 20 6c 61 75 6e | 63 68 20 69 74 2e 20 4c | to laun|ch it. L|
|00002030| 65 74 27 73 20 68 61 76 | 65 20 61 20 6c 6f 6f 6b |et's hav|e a look|
|00002040| 20 61 72 6f 75 6e 64 3a | 0d 09 0d 09 69 66 28 20 | around:|....if( |
|00002050| 65 72 72 3d 20 47 65 74 | 53 79 73 56 6f 6c 75 6d |err= Get|SysVolum|
|00002060| 65 28 26 73 79 73 56 52 | 65 66 4e 75 6d 29 20 29 |e(&sysVR|efNum) )|
|00002070| 20 72 65 74 75 72 6e 20 | 65 72 72 3b 09 2f 2f 20 | return |err;.// |
|00002080| 46 69 6e 64 20 62 6f 6f | 74 20 76 6f 6c 75 6d 65 |Find boo|t volume|
|00002090| 0d 09 76 52 65 66 4e 75 | 6d 20 3d 20 73 79 73 56 |..vRefNu|m = sysV|
|000020a0| 52 65 66 4e 75 6d 3b 09 | 09 09 09 09 09 09 09 2f |RefNum;.|......./|
|000020b0| 2f 20 53 74 61 72 74 20 | 73 65 61 72 63 68 20 77 |/ Start |search w|
|000020c0| 69 74 68 20 62 6f 6f 74 | 20 76 6f 6c 75 6d 65 0d |ith boot| volume.|
|000020d0| 09 69 6e 64 65 78 20 3d | 20 30 3b 0d 09 64 6f 7b |.index =| 0;..do{|
|000020e0| 0d 09 09 69 66 28 20 69 | 6e 64 65 78 3d 3d 30 20 |...if( i|ndex==0 |
|000020f0| 7c 7c 20 76 52 65 66 4e | 75 6d 20 21 3d 20 73 79 ||| vRefN|um != sy|
|00002100| 73 56 52 65 66 4e 75 6d | 20 29 20 7b 0d 0d 09 09 |sVRefNum| ) {....|
|00002110| 09 2f 2f 20 48 65 72 65 | 27 73 20 54 69 6d 27 73 |.// Here|'s Tim's|
|00002120| 20 63 68 61 6e 67 65 3a | 20 64 6f 6e 27 74 20 73 | change:| don't s|
|00002130| 65 61 72 63 68 20 6f 6e | 20 6e 65 74 77 6f 72 6b |earch on| network|
|00002140| 20 76 6f 6c 75 6d 65 73 | 2e 0d 09 09 09 48 50 61 | volumes|.....HPa|
|00002150| 72 61 6d 42 6c 6f 63 6b | 52 65 63 20 70 62 3b 0d |ramBlock|Rec pb;.|
|00002160| 09 09 09 47 65 74 56 6f | 6c 50 61 72 6d 73 49 6e |...GetVo|lParmsIn|
|00002170| 66 6f 42 75 66 66 65 72 | 20 69 6e 66 6f 3b 0d 09 |foBuffer| info;..|
|00002180| 09 09 0d 09 09 09 70 62 | 2e 69 6f 50 61 72 61 6d |......pb|.ioParam|
|00002190| 2e 69 6f 56 52 65 66 4e | 75 6d 20 3d 20 76 52 65 |.ioVRefN|um = vRe|
|000021a0| 66 4e 75 6d 3b 0d 09 09 | 09 70 62 2e 69 6f 50 61 |fNum;...|.pb.ioPa|
|000021b0| 72 61 6d 2e 69 6f 4e 61 | 6d 65 50 74 72 20 3d 20 |ram.ioNa|mePtr = |
|000021c0| 6e 69 6c 3b 0d 09 09 09 | 70 62 2e 69 6f 50 61 72 |nil;....|pb.ioPar|
|000021d0| 61 6d 2e 69 6f 42 75 66 | 66 65 72 20 3d 20 28 50 |am.ioBuf|fer = (P|
|000021e0| 74 72 29 26 69 6e 66 6f | 3b 0d 09 09 09 70 62 2e |tr)&info|;....pb.|
|000021f0| 69 6f 50 61 72 61 6d 2e | 69 6f 52 65 71 43 6f 75 |ioParam.|ioReqCou|
|00002200| 6e 74 20 3d 20 73 69 7a | 65 6f 66 28 47 65 74 56 |nt = siz|eof(GetV|
|00002210| 6f 6c 50 61 72 6d 73 49 | 6e 66 6f 42 75 66 66 65 |olParmsI|nfoBuffe|
|00002220| 72 29 3b 0d 09 09 09 65 | 72 72 20 3d 20 50 42 48 |r);....e|rr = PBH|
|00002230| 47 65 74 56 6f 6c 50 61 | 72 6d 73 53 79 6e 63 28 |GetVolPa|rmsSync(|
|00002240| 26 70 62 29 3b 09 09 09 | 2f 2f 20 47 65 74 20 76 |&pb);...|// Get v|
|00002250| 6f 6c 75 6d 65 20 69 6e | 66 6f 0d 09 09 09 69 66 |olume in|fo....if|
|00002260| 20 28 65 72 72 20 3d 3d | 20 6e 6f 45 72 72 20 26 | (err ==| noErr &|
|00002270| 26 20 69 6e 66 6f 2e 76 | 4d 53 65 72 76 65 72 41 |& info.v|MServerA|
|00002280| 64 72 20 3d 3d 20 30 29 | 20 7b 0d 09 09 0d 09 09 |dr == 0)| {......|
|00002290| 09 09 69 66 28 20 65 72 | 72 3d 20 56 6f 6c 48 61 |..if( er|r= VolHa|
|000022a0| 73 44 65 73 6b 74 6f 70 | 44 42 28 76 52 65 66 4e |sDesktop|DB(vRefN|
|000022b0| 75 6d 2c 26 68 61 73 44 | 65 73 6b 74 6f 70 44 42 |um,&hasD|esktopDB|
|000022c0| 29 20 29 0d 09 09 09 09 | 09 72 65 74 75 72 6e 20 |) ).....|.return |
|000022d0| 65 72 72 3b 0d 09 09 09 | 09 69 66 28 20 68 61 73 |err;....|.if( has|
|000022e0| 44 65 73 6b 74 6f 70 44 | 42 20 29 20 7b 09 09 09 |DesktopD|B ) {...|
|000022f0| 09 09 09 2f 2f 20 49 66 | 20 76 6f 6c 75 6d 65 20 |...// If| volume |
|00002300| 68 61 73 20 61 20 64 65 | 73 6b 74 6f 70 20 44 42 |has a de|sktop DB|
|00002310| 2c 0d 09 09 09 09 09 65 | 72 72 3d 20 46 69 6e 64 |,......e|rr= Find|
|00002320| 41 70 70 4f 6e 56 6f 6c | 75 6d 65 28 73 69 67 2c |AppOnVol|ume(sig,|
|00002330| 76 52 65 66 4e 75 6d 2c | 20 26 66 69 6c 65 29 3b |vRefNum,| &file);|
|00002340| 09 09 2f 2f 20 61 73 6b | 20 69 74 20 74 6f 20 66 |..// ask| it to f|
|00002350| 69 6e 64 20 61 70 70 0d | 09 09 09 09 09 69 66 28 |ind app.|.....if(|
|00002360| 20 65 72 72 3d 3d 6e 6f | 45 72 72 20 29 20 7b 0d | err==no|Err ) {.|
|00002370| 09 09 09 09 09 09 2f 2f | 20 46 4f 55 4e 44 20 49 |......//| FOUND I|
|00002380| 54 21 0d 09 09 09 09 09 | 09 69 66 28 20 66 69 6c |T!......|.if( fil|
|00002390| 65 53 70 65 63 20 29 0d | 09 09 09 09 09 09 09 2a |eSpec ).|.......*|
|000023a0| 66 69 6c 65 53 70 65 63 | 20 3d 20 66 69 6c 65 3b |fileSpec| = file;|
|000023b0| 0d 09 09 09 09 09 09 69 | 66 28 20 6d 6f 64 65 3d |.......i|f( mode=|
|000023c0| 3d 53 69 67 32 41 70 70 | 5f 4c 61 75 6e 63 68 41 |=Sig2App|_LaunchA|
|000023d0| 70 70 6c 69 63 61 74 69 | 6f 6e 20 29 20 7b 0d 09 |pplicati|on ) {..|
|000023e0| 09 09 09 09 09 09 41 45 | 44 65 73 63 20 6f 64 6f |......AE|Desc odo|
|000023f0| 63 3b 0d 09 09 09 09 09 | 09 09 69 66 28 20 64 6f |c;......|..if( do|
|00002400| 63 75 6d 65 6e 74 20 29 | 0d 09 09 09 09 09 09 09 |cument )|........|
|00002410| 09 65 72 72 3d 20 42 75 | 69 6c 64 4f 44 6f 63 28 |.err= Bu|ildODoc(|
|00002420| 64 6f 63 75 6d 65 6e 74 | 2c 73 69 67 2c 4e 55 4c |document|,sig,NUL|
|00002430| 4c 2c 26 6f 64 6f 63 29 | 3b 0d 09 09 09 09 09 09 |L,&odoc)|;.......|
|00002440| 09 69 66 28 20 65 72 72 | 20 29 20 72 65 74 75 72 |.if( err| ) retur|
|00002450| 6e 20 65 72 72 3b 0d 09 | 09 09 09 09 09 09 65 72 |n err;..|......er|
|00002460| 72 3d 20 4c 61 75 6e 63 | 68 49 74 28 26 66 69 6c |r= Launc|hIt(&fil|
|00002470| 65 2c 6c 61 75 6e 63 68 | 43 6f 6e 74 72 6f 6c 46 |e,launch|ControlF|
|00002480| 6c 61 67 73 2c 09 09 2f | 2f 20 4c 61 75 6e 63 68 |lags,../|/ Launch|
|00002490| 20 69 74 21 0d 09 09 09 | 09 09 09 09 09 09 09 09 | it!....|........|
|000024a0| 64 6f 63 75 6d 65 6e 74 | 20 3f 26 6f 64 6f 63 20 |document| ?&odoc |
|000024b0| 3a 4e 55 4c 4c 2c 0d 09 | 09 09 09 09 09 09 09 09 |:NULL,..|........|
|000024c0| 09 09 70 73 6e 29 3b 0d | 09 09 09 09 09 09 09 69 |..psn);.|.......i|
|000024d0| 66 28 20 64 6f 63 75 6d | 65 6e 74 20 29 0d 09 09 |f( docum|ent )...|
|000024e0| 09 09 09 09 09 09 41 45 | 44 69 73 70 6f 73 65 44 |......AE|DisposeD|
|000024f0| 65 73 63 28 26 6f 64 6f | 63 29 3b 0d 09 09 09 09 |esc(&odo|c);.....|
|00002500| 09 09 09 69 66 28 20 21 | 65 72 72 20 26 26 20 6c |...if( !|err && l|
|00002510| 61 75 6e 63 68 65 64 20 | 29 0d 09 09 09 09 09 09 |aunched |).......|
|00002520| 09 09 2a 6c 61 75 6e 63 | 68 65 64 20 3d 20 74 72 |..*launc|hed = tr|
|00002530| 75 65 3b 0d 09 09 09 09 | 09 09 7d 0d 09 09 09 09 |ue;.....|..}.....|
|00002540| 09 09 72 65 74 75 72 6e | 20 65 72 72 3b 0d 09 09 |..return| err;...|
|00002550| 09 09 09 09 0d 09 09 09 | 09 09 7d 20 65 6c 73 65 |........|..} else|
|00002560| 20 69 66 28 20 65 72 72 | 20 21 3d 20 61 66 70 49 | if( err| != afpI|
|00002570| 74 65 6d 4e 6f 74 46 6f | 75 6e 64 20 29 0d 09 09 |temNotFo|und )...|
|00002580| 09 09 09 09 72 65 74 75 | 72 6e 20 65 72 72 3b 0d |....retu|rn err;.|
|00002590| 09 09 09 09 7d 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |....}...|.}...}..|
|000025a0| 09 65 72 72 3d 20 47 65 | 74 49 6e 64 56 6f 6c 75 |.err= Ge|tIndVolu|
|000025b0| 6d 65 28 2b 2b 69 6e 64 | 65 78 2c 26 76 52 65 66 |me(++ind|ex,&vRef|
|000025c0| 4e 75 6d 29 3b 09 09 09 | 09 2f 2f 20 45 6c 73 65 |Num);...|.// Else|
|000025d0| 20 67 6f 20 74 6f 20 6e | 65 78 74 20 76 6f 6c 75 | go to n|ext volu|
|000025e0| 6d 65 0d 09 7d 20 77 68 | 69 6c 65 28 20 65 72 72 |me..} wh|ile( err|
|000025f0| 3d 3d 6e 6f 45 72 72 20 | 29 3b 09 09 09 09 09 09 |==noErr |);......|
|00002600| 09 09 2f 2f 20 4b 65 65 | 70 20 67 6f 69 6e 67 20 |..// Kee|p going |
|00002610| 75 6e 74 69 6c 20 77 65 | 20 72 75 6e 20 6f 75 74 |until we| run out|
|00002620| 20 6f 66 20 76 6f 6c 73 | 0d 09 0d 09 69 66 28 20 | of vols|....if( |
|00002630| 65 72 72 3d 3d 6e 73 76 | 45 72 72 20 7c 7c 20 65 |err==nsv|Err || e|
|00002640| 72 72 3d 3d 61 66 70 49 | 74 65 6d 4e 6f 74 46 6f |rr==afpI|temNotFo|
|00002650| 75 6e 64 20 29 0d 09 09 | 65 72 72 3d 20 66 6e 66 |und )...|err= fnf|
|00002660| 45 72 72 3b 09 09 09 09 | 09 09 09 09 09 2f 2f 20 |Err;....|.....// |
|00002670| 46 69 6c 65 20 6e 6f 74 | 20 66 6f 75 6e 64 20 6f |File not| found o|
|00002680| 6e 20 61 6e 79 20 76 6f | 6c 75 6d 65 0d 09 72 65 |n any vo|lume..re|
|00002690| 74 75 72 6e 20 65 72 72 | 3b 0d 7d 00 00 00 00 00 |turn err|;.}.....|
|000026a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002700| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00002710| 30 28 00 02 d0 7c 00 51 | 3f 00 3f 2c ff fa a8 93 |0(...|.Q|?.?,....|
|00002720| 48 6c fd 40 3f 3c 00 98 | 2f 2e 00 08 4e ba f6 3a |Hl.@?<..|/...N..:|
|00002730| 12 4d 79 53 69 67 6e 61 | 74 75 72 65 54 6f 41 70 |.MySigna|tureToAp|
|00002740| 70 2e 63 6f 02 00 00 00 | 54 45 58 54 4b 41 48 4c |p.co....|TEXTKAHL|
|00002750| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 ff ff ff ff |..TEXTKA|HL......|
|00002760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002770| 00 00 a4 58 1c 95 00 00 | 26 1b 00 00 01 ac 51 c8 |...X....|&.....Q.|
|00002780| ff fc 48 6e fe fc 48 6c | fe fa 2f 2e 00 08 4e ba |..Hn..Hl|../...N.|
|00002790| f7 96 3f 3c 00 70 2f 2e | 00 08 4e ba f5 cc 60 30 |..?<.p/.|..N...`0|
|000027a0| 30 2c fd 6c 48 c0 2f 00 | 48 6c fe fa 4e ba 02 aa |0,.lH./.|Hl..N...|
|000027b0| 48 6c fe fa a8 84 42 a7 | 3f 3c c8 eb a9 ba 26 5f |Hl....B.|?<....&_|
|000027c0| 2f 0b 4e ba 02 2c 2f 13 | a8 84 2f 0b 4e ba 02 2c |/.N..,/.|../.N..,|
|000027d0| 2f 2c fd 60 42 67 48 6c | fe fa 4e ba f5 7a 20 6c |/,.`BgHl|..N..z l|
|000027e0| 00 14 30 28 00 02 d0 7c | 01 aa 2f 00 42 67 48 6c |..0(...||../.BgHl|
|000027f0| fe fa a8 8c 32 1f 20 1f | 90 41 3f 00 3f 2c ff fa |....2. .|.A?.?,..|
|00002800| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 09 50 42 |...H..Mo|naco..PB|
|00002810| 01 54 d1 70 74 50 61 74 | 68 0d 09 09 50 42 44 54 |.T.ptPat|h...PBDT|
|00002820| 47 65 74 41 70 70 00 06 | 00 04 00 3d 00 22 01 de |GetApp..|...=."..|
|00002830| 02 3b 00 3d 00 22 01 de | 02 3b ac 23 3f 16 00 00 |.;.=."..|.;.#?...|
|00002840| 18 e0 00 00 18 e0 00 00 | 17 99 01 00 00 00 00 1e |........|........|
|00002850| 00 3d 00 22 01 de 02 3b | 00 3d 00 22 01 de 02 3b |.=."...;|.=."...;|
|00002860| 00 00 17 99 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002870| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 01 40 |.....n..|.n...>.@|
|00002880| ed 18 23 fe 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |..#.....|.>..MPSR|
|00002890| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|000028a0| 03 f0 ff ff 00 00 00 4c | 01 4b 72 e0 00 00 00 00 |.......L|.Kr.....|
|000028b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+